/**Universidad del Valle de Guatemala 
 * Algoritmos y Estructura de Datos
 * Dennisse Escobar Delgado
 * Fecha: 20/09/2012
 * Produce la tabla de frecuencia de arboles binarios.  
 */


public class Cadena 
{
        //---------------------------------------------
        //ATRIBUTOS 
        //---------------------------------------------
        
        /**
         * Atributo para manejar el mensaje ingresado.
         */
        private String palabra;
        
        /**
         * Representa el codigo de cada caracter.
         */
    private String codigo;
    
    /**
         * Representa el numero de veces que se repite el caracter.
         */
    private int frecuencia;
    
    //----------------------
        //CONSTRUCTOR
        //----------------------
        
        /**
         * Método que construye un nuevo mensaje
         */
    public Cadena()
    {
        palabra = null;
        frecuencia = 0;
    }

    //----------------------
        //METODOS
        //----------------------
        
        /**
         * Metodo para ingresar un caracter.
         * @param s Caracter ingresado.
         * @param f Frecuencia del caracter.
         */
    public Cadena(String s, int f)
    {
        palabra = s;
        frecuencia = f;
    }

    /**
         * Metodo para cambiar un caracter.
         * @param s Nuevo caracter.
         */
    public void cambiarCadena(String s)
    {
        palabra = s;
    }

    /**
         * Metodo para cambiar la frecuencia.
         * @param f Nueva frecuencia.
         */
    public void cambiarFrecuencia(int f){
        frecuencia = f;
    }

    /**
         * Metodo para cambiar el codigo de un caracter.
         * @param c Nuevo codigo.
         */
    public void cambiarCodigo(String c){
        codigo = c;
    }

    /**
         * Metodo para obtener el caracter.
         * @return Caracter.
         */
    public String darCadena(){
        return palabra;
    }

    /**
         * Metodo para obtener la frecuencia de un caracter.
         * @return Frecuencia.
         */
    public int darFrecuencia(){
        return frecuencia ;
    }

    /**
         * Metodo para obtener el codigo de un caracter.
         * @return Codigo.
         */
    public String darCodigo(){
        return codigo;
    }
}